
/*
 * HelpBox.java
 *
 * Created on 21 mars 2012, 16:41:19
 */
package gov.nist.ssd.swqb.gui.boxes;

/**
 *
 * @author Benjamin Herbomez <benjamin.herbomez@esial.com>
 */
public class HelpBox extends javax.swing.JDialog {

    /** Creates new form HelpBox */
    public HelpBox(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Search: help");
        setMinimumSize(new java.awt.Dimension(700, 600));

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        jTextArea1.setColumns(20);
        jTextArea1.setRows(5);
        jTextArea1.setText("SEARCH ENGINE HELP\n\n\n\n1) Search syntax :\n\n  2.1) exact search\n     example : SIEMENS\n     \n     This will return any node/anon/literal being exactly equal to you search.\n     This type of search is CASE SENSITIVE.\n     \n  2.2) wild-card search\n     example : s?em*\n     \n     ? stands for one unknown char\n     * stands for zero or several unknown chars\n     \n     This will return any node/anon/literal mathching this search.\n     This is CASE SENSITIVE on node and anon. This is cas CASE UNSENSITIVE on\n     literal.\n\n\n2) Specifying node type :\n\n  Search engine allows you to limit search results to a specific node type.\n  In such a search request you are allowed to use every search text features.\n  \n  2.1) Literals only :\n    Requesting \"textSearch\" will return Literal node matching textSearch.\n    \n    Double quotes DO NOT stands for exact search. It may be an exact or an\n    approximative search depending on textSearch provided.\n    \n  2.2) Named Instances only :\n    Requesting <textSearch> will return Names Instances matching textSearch.\n    \n  2.3) Anon Nodes only :\n    Requesting <_:textSearch> will return Anon Nodes matching textSearch.\n    \n    Currently it's only possible to perform exact search with Anon.\n\n\n3) Performance issues :\n\n  Search Engine provides an uniform syntax for every type of node. Unfortunately\n  node type is not indifferent when it come to the actual query.\n  \n  In a nutshell : \n    - litteral searches rely on Lucene and are quite fast.\n    - wildcard-starting-search are not compatible with Lucene. They are translated\n      to regex searches and are quite slow.\n    - every request on Named Instances or Anon Nodes is translated to regex. So\n      be patient...\n    - exact search are translated to ASK sparql request, so it should be quite\n      fast.");
        jTextArea1.setName("jTextArea1"); // NOI18N
        jScrollPane1.setViewportView(jTextArea1);

        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

        jPanel1.setName("jPanel1"); // NOI18N
        jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jButton1.setText("Close");
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        jPanel1.add(jButton1);

        getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_END);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        this.dispose();
    }//GEN-LAST:event_jButton1ActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    // End of variables declaration//GEN-END:variables
}
